package com.imti.mall.product.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.imti.mall.model.pms.pojo.PmsProductAttribute;
import com.imti.mall.model.pms.pojo.PmsProductAttributeCategory;
import com.imti.mall.model.pms.vo.ProductAttrCate;
import com.imti.mall.product.dao.PmsProductAttributeCategoryDao;
import com.imti.mall.product.dao.PmsProductAttributeDao;
import com.imti.mall.product.service.PmsProductAttributeCategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * ClassName: PmsProductAttributeCategoryServiceImpl
 * Description:
 * date: 2022/9/13 14:24
 *
 * @author: youhun
 * @version:
 * @since JDK 1.8
 */
@Service
public class PmsProductAttributeCategoryServiceImpl extends ServiceImpl<PmsProductAttributeCategoryDao, PmsProductAttributeCategory> implements PmsProductAttributeCategoryService {

    @Autowired
    private PmsProductAttributeCategoryDao pmsProductAttributeCategoryDao;

    @Autowired
    private PmsProductAttributeDao pmsProductAttributeDao;

    @Override
    public boolean addPmsProductAttributeCategory(PmsProductAttributeCategory pmsProductAttributeCategory) {
        return save(pmsProductAttributeCategory);
    }

    @Override
    public boolean updatePmsProductAttributeCategory(PmsProductAttributeCategory pmsProductAttributeCategory) {
        PmsProductAttribute pmsProductAttribute =new PmsProductAttribute();
        //添加商品id
        pmsProductAttribute.setProductAttributeCategoryId(pmsProductAttributeCategory.getId());
        //查询属性数量
        pmsProductAttribute.setType(0);
        pmsProductAttributeCategory.setAttributeCount(pmsProductAttributeDao.countPmsProductAttribute(pmsProductAttribute));
        //查询参数数量
        pmsProductAttribute.setType(1);
        pmsProductAttributeCategory.setAttributeCount(pmsProductAttributeDao.countPmsProductAttribute(pmsProductAttribute));
        return pmsProductAttributeCategoryDao.UpdatePmsProductAttributeCategoryById(pmsProductAttributeCategory);
    }

    @Override
    public boolean deletePmsProductAttributeCategory(PmsProductAttributeCategory pmsProductAttributeCategory) {
        return removeById(pmsProductAttributeCategory);
    }

    @Override
    public List<PmsProductAttributeCategory> findPmsProductAttributeCategory(Integer pageSize, Integer pageNum) {
        PageHelper.startPage(pageNum, pageSize);
        return list();
    }

    @Override
    public long getPmsProductAttributeCategory() {
        return count();
    }

    @Override
    public List<ProductAttrCate> findPmsProductAttributeCategoryToID() {
        return pmsProductAttributeCategoryDao.findPmsProductAttributeCategoryToID();
    }
}
